package com.hxexp.weixin.hpe.api.orderdetail.model;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 订单车票信息
 *
 * @author li.jiang
 *
 */
public final class OrderTicketInfoBean implements Serializable {

    private static final long serialVersionUID = 4469322485761605585L;
    /**
     * 车票号
     */
    private String ticketId;
    /**
     * 票价
     */
    private String ticketPrice;
    /**
     * 车票类别
     */
    private String ticketType;
    /**
     * 车票类别名
     */
    private String ticketTypeName;
    /**
     * 服务费
     */
    private String servicePrice;
    /**
     * 座位号
     */
    private String seatNo;
    /**
     * 乘客ID
     */
    private String passengerId;
    /**
     * 乘客姓名
     */
    private String fullname;
    /**
     * 证件类型
     */
    private String identificationType;
    /**
     * 证件号
     */
    private String identificationNumber;
    /**
     * 车票状态
     */
    private String ticketState;
    /**
     * 性别
     */
    private String gender;
    /**
     * 乘客类型
     */
    private String passengerType;
    /**
     * 是否携带免票标示
     */
    @JsonProperty("contactType")
    private String carryFreeTicketFlag;
    /**
     * 每张票的保费
     */
    private String insurance;
    /**
     * 保单号
     */
    private String policyNumber;
    /**
     * 减免的保费
     */
    private String donatedInsurance;

    /**
     * @return the ticketId
     */
    public String getTicketId() {
        return ticketId;
    }

    /**
     * @param ticketId
     *            the ticketId to set
     */
    public void setTicketId(String ticketId) {
        this.ticketId = ticketId;
    }

    /**
     * @return the ticketPrice
     */
    public String getTicketPrice() {
        return ticketPrice;
    }

    /**
     * @param ticketPrice
     *            the ticketPrice to set
     */
    public void setTicketPrice(String ticketPrice) {
        this.ticketPrice = ticketPrice;
    }

    /**
     * @return the ticketType
     */
    public String getTicketType() {
        return ticketType;
    }

    /**
     * @param ticketType
     *            the ticketType to set
     */
    public void setTicketType(String ticketType) {
        this.ticketType = ticketType;
    }

    /**
     * @return the ticketTypeName
     */
    public String getTicketTypeName() {
        return ticketTypeName;
    }

    /**
     * @param ticketTypeName
     *            the ticketTypeName to set
     */
    public void setTicketTypeName(String ticketTypeName) {
        this.ticketTypeName = ticketTypeName;
    }

    /**
     * @return the servicePrice
     */
    public String getServicePrice() {
        if (servicePrice == null || "".equals(servicePrice)) {
            servicePrice = "0.00";
        }
        return servicePrice;
    }

    /**
     * @param servicePrice
     *            the servicePrice to set
     */
    public void setServicePrice(String servicePrice) {
        this.servicePrice = servicePrice;
    }

    /**
     * @return the seatNo
     */
    public String getSeatNo() {
        return seatNo;
    }

    /**
     * @param seatNo
     *            the seatNo to set
     */
    public void setSeatNo(String seatNo) {
        this.seatNo = seatNo;
    }

    /**
     * @return the passengerId
     */
    public String getPassengerId() {
        return passengerId;
    }

    /**
     * @param passengerId
     *            the passengerId to set
     */
    public void setPassengerId(String passengerId) {
        this.passengerId = passengerId;
    }

    /**
     * @return the fullname
     */
    public String getFullname() {
        return fullname;
    }

    /**
     * @param fullname
     *            the fullname to set
     */
    public void setFullname(String fullname) {
        this.fullname = fullname;
    }

    /**
     * @return the identificationType
     */
    public String getIdentificationType() {
        return identificationType;
    }

    /**
     * @param identificationType
     *            the identificationType to set
     */
    public void setIdentificationType(String identificationType) {
        this.identificationType = identificationType;
    }

    /**
     * @return the identificationNumber
     */
    public String getIdentificationNumber() {
        return identificationNumber;
    }

    /**
     * @param identificationNumber
     *            the identificationNumber to set
     */
    public void setIdentificationNumber(String identificationNumber) {
        this.identificationNumber = identificationNumber;
    }

    /**
     * @return the ticketState
     */
    public String getTicketState() {
        return ticketState;
    }

    /**
     * @param ticketState
     *            the ticketState to set
     */
    public void setTicketState(String ticketState) {
        this.ticketState = ticketState;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getPassengerType() {
        return passengerType;
    }

    public void setPassengerType(String passengerType) {
        this.passengerType = passengerType;
    }

    /**
     * @return the carryFreeTicketFlag
     */
    public String getCarryFreeTicketFlag() {
        return carryFreeTicketFlag;
    }

    /**
     * @param carryFreeTicketFlag
     *            the carryFreeTicketFlag to set
     */
    public void setCarryFreeTicketFlag(String carryFreeTicketFlag) {
        this.carryFreeTicketFlag = carryFreeTicketFlag;
    }

    /**
     * @return the insurance
     */
    public String getInsurance() {
        return insurance;
    }

    /**
     * @param insurance
     *            the insurance to set
     */
    public void setInsurance(String insurance) {
        this.insurance = insurance;
    }

    /**
     * @return the policyNumber
     */
    public String getPolicyNumber() {
        return policyNumber;
    }

    /**
     * @param policyNumber
     *            the policyNumber to set
     */
    public void setPolicyNumber(String policyNumber) {
        this.policyNumber = policyNumber;
    }

    /**
     * @return the donatedInsurance
     */
    public String getDonatedInsurance() {
        return donatedInsurance;
    }

    /**
     * @param donatedInsurance
     *            the donatedInsurance to set
     */
    public void setDonatedInsurance(String donatedInsurance) {
        this.donatedInsurance = donatedInsurance;
    }

    /*
     * (non-Javadoc)
     *
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return String
                .format("OrderTicketInfoBean [ticketId=%s, ticketPrice=%s, ticketType=%s, ticketTypeName=%s, servicePrice=%s, seatNo=%s, passengerId=%s, fullname=%s, identificationType=%s, identificationNumber=%s, ticketState=%s, gender=%s, passengerType=%s, carryFreeTicketFlag=%s,insurance=%s,policyNumber=%s,donatedInsurance=%s]",
                        ticketId, ticketPrice, ticketType, ticketTypeName, servicePrice, seatNo, passengerId, fullname, identificationType,
                        identificationNumber, ticketState, gender, passengerType, carryFreeTicketFlag, insurance, policyNumber, donatedInsurance);
    }

}
